<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script type="text/javascript">
        function test(a, b) {
            //  参数就相当于在函数体中 var a; var b;
            //形式参数
            document.write(a + b);

        }
        test(1, 2);
        // 实际参数，实参
    </script> 

     <script type="text/javascript">
        function sum(a, b, c, d) {
            //相当于 // var a, b, c, d;
            // arguments  --  [11, 2, 3]  类数组，实参列表

            document.write(d);
            console.log(arguments);
            console.log(arguments.length);
            console.log(sum.length); //形参的个数

            for(var i = 0; i < arguments.length; i ++){
                console.log(arguments[i]);
            }

            if(sum.length > arguments.length) {
                console.log('形参多了');
            }else if(sum.length < arguments.length){
                console.log('实参多了');
            }else{
                console.log('it is very good');
            }

        }

        sum(11, 2, 3);
    </script>

    <script>
        //实现任意个数求和, 不定参的好处

        function anySum(a, b){
            // 相当于 
            // var a = 1, b = 2;
            var SUM = 0;
            for(var i = 0; i < arguments.length; i ++){
                SUM += arguments[i];
            }
            console.log(SUM);

            a = 2;
            console.log(arguments[0]);

            // 二者一个变，另一个跟着变，一直映射相等，但却不是一个变量

        }

        anySum(1,2,3,4,5,6,7,8,9);

        function Sum(a, b, c){
            c = 2;
            console.log(arguments[2]);
            // arguments的长度只有两位，没有值和c对应
            // [1, 1]
        }
        Sum(1,1);

    </script>

</body>

</html>